<?php

class LtContext
{
    /**
     * The uri property
     *
     * @var array
     */
    public $uri;

    protected $strip;

    public function __construct()
    {

    }

    /**
     * return the client input in $_SERVER['argv']
     *
     * @param integer $offset
     * @return string
     */
    public function argv($offset)
    {
        return isset($_SERVER['argv']) && isset($_SERVER['argv'][$offset]) ? $_SERVER['argv'][$offset] : null;
    }

    /**
     * return the client input in $_FILES
     *
     * @param string $name
     * @return array
     */
    public function file($name)
    {
        return isset($_FILES[$name]) ? $_FILES[$name] : null;
    }

    /**
     * return the client input in $_GET
     *
     * @param string $name
     * @return string
     */
    public function get($name)
    {
        return isset($_GET[$name]) ? $_GET[$name] : null;
    }

    /**
     * return the client input in $_POST
     *
     * @param string $name
     * @return string
     */
    public function post($name)
    {
        return isset($_POST[$name]) ? $_POST[$name] : null;
    }

    /**
     * return the client input in $_REQUEST
     *
     * @param string $name
     * @return string
     */
    public function request($name)
    {
        return isset($_REQUEST[$name]) ? $_REQUEST[$name] : null;
    }

    /**
     * return the client input in $_SERVER
     *
     * @param string $name
     * @return string
     */
    public function server($name)
    {
        if ('REMOTE_ADDR' == $name) {
            if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
                $clientIp = $_SERVER['HTTP_X_FORWARDED_FOR'];
            } else {
                $clientIp = $_SERVER[$name];
            }
            return $clientIp;
        } else {
            return isset($_SERVER[$name]) ? $_SERVER[$name] : null;
        }
    }
}
